#ifndef _Packing_GRAPHICS_H_
#define	_Packing_GRAPHICS_H_

#include <algorithm>

#include <Geex/graphics/opengl.h>
#include <glut_viewer/glut_viewer.h>
#include <GL/glut.h>
#include "packer.h"


namespace Polygon_particle
{

	class Packing_graphics
	{
	public:
		Packing_graphics(Packer* _Packer) ;
		~Packing_graphics();
		void print_screen();
		void draw() ;
		void redraw();
		GLboolean& toggle_polygons() { return show_polygons; }
		GLboolean& toggle_circles() { return show_circles; }
		//GLboolean& toggle_triangulation() { return show_triangulation ; }
		//GLboolean& toggle_voronoi() { return show_voronoi; }
		//GLboolean& toggle_cat() { return show_cat; }
		GLboolean& toggle_bd_box() { return show_bd_box; }
		//GLboolean& toggle_large_room() { return show_large_room; }
		int& set_highlight_no() { return highlight_no; }

	private:
		void draw_polygons() ;

	private:
		Packer* packer ;
		GLboolean show_polygons;
		GLboolean show_circles; // draw bounding circles
		GLboolean show_bd_box;

		int highlight_no;
	};

}

#endif